草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - 复制一些大于 dst 的内容时,memcpy() 是否安全?

request_token.size()大于LEN是否安全?chardst[LEN];memcpy(dst,request_token.c_str(),request_token.size()); 最佳答案 不,这不安全;你会导致缓冲区溢出。原因是,除了您在第三个参数中传递的大小,memcpy无法知道您的目标缓冲区的大小。 关于c++-复制一些大于dst的内容时,memcpy()是否安全?,我们在StackOverflow上找到一个类似的问题: https:/

c++ - 函数参数中的 struct 关键字和常量正确性

我的库中有一个不透明类型定义为:typedefstructMyOpaqueType*MyType;//easiertotypeforclientcode我不能使用typedef传递指向const结构的指针,所以一些函数看起来像:voidUsePointerToConst(conststructMyOpaqueType*)代替:voidUserPointerToConst(constMyType)//can'tuse,isreallyconstantpointer所以,鉴于此,我有两个问题:参数列表中的struct关键字是否只在C中是必需的?有一个更好的方法吗?我应该创建一个typede

c++ - OpenMP,for 循环内部部分

我想运行以下代码(如下)。我想产生两个独立的线程,每个线程都运行一个并行的for循环。不幸的是,我得到一个错误。显然,并行for不能在section内产生。怎么解决?#include#include"stdio.h"intmain(){omp_set_num_threads(10);#pragmaompparallel#pragmaompsections{#pragmaompsection#pragmaompforfor(inti=0;i错误:main.cpp:Infunction‘intmain()’:main.cpp:14:9:warning:work-sharingregionm

c++ - 如何编写编译器后端以从 C 代码为用户定义的硬件架构生成程序集

我正在从事一个项目,我必须在其中定义一个新的处理器硬件架构。我需要一个编译器来为这个目标生成汇编代码(它有自己的指令集)。此处理器的程序将用C语言编写。我的想法是解析C代码并生成抽象语法树(AST),然后从AST生成程序集。当然,我想重用现有组件(我希望不需要重写C解析器),但是我可以使用哪些工具或框架来完成这项任务?谢谢。 最佳答案 看看LLVM.它由单独的模块组成,这些模块可以单独创建并通过中间语言进行通信。在这种情况下,您将不得不编写程序集后端并重用其他人的C编译器。 关于c++-

c++ - 如何知道正在运行的进程正在执行哪条语句

我有一个进程突然挂起,没有提供任何核心转储,也没有被杀死。我可以使用ps命令看到它仍在运行。我怎么知道它当前在代码中执行的是哪条语句。基本上我想知道它到底卡在哪里。语言是c++,平台是solarisunix。demos.283>cattest3.cc#include#includeintmain(){sleep(100);return0;}demos.284>CCtest3.ccdemos.285>./a.out&[1]2231demos.286>ps-o"pid,wchan,comm"PIDWCHANCOMMAND23420fffffe86e9a5aff6-tcsh2345-ps22

c++ - 将 DJB 哈希转换为 64 位

如果我使用64位无符号整数,DanBernstein的哈希函数是否仍能正常运行?uint64hash_djb2(registeruchar*str,registersize_tlength){registeruint64hash=5381L;while(length--){hash=((hash 最佳答案 djb哈希函数基于LinearCongruentialGenerator,其形式为x=(a·x+c)modm。通过检查函数,我们意识到a=33,c=input在djb的情况下,但模数有点隐藏,因为它由变量hash的类型,原始形式的

c++ - 将 Lab 值转换为 opencv 中的 RGB 值

我正在尝试将Lab值转换为其相应的RGB值。我不想将Lab图像转换为RGB图像,而是La和b的一些值。函数cvCvtColor仅适用于图像。谁能告诉我如何做到这一点。谢谢;代码:CvMat*rgb=cvCreateMat(centres->rows,centres->cols,centres->type);cvCvtColor(centres,rgb,CV_Lab2BGR); 最佳答案 我不知道如何在OpenCV中做到这一点,但如果其他事情没问题,我有implementeditinC.请参阅函数color_Lab_to_Linear

c++ - C 字符串是否保证是数组?

C字符串(与std::string相对)是否保证以数组形式实现?例如,我有charconst*str="abc";它归结为str+4是否是一个合法的指针值(没有取消引用)。我问这个是因为我不知道C字符串是否是一种特殊情况,因为终止它的空字符。 最佳答案 问题的第一部分AreCstringsguaranteedtobeimplementedasarrays?Forexample,say,Ihave:charconst*str="abc"是的,字符串对象是数组类型。字符串是一种数据格式,(字符)字符串对象是char类型的array。在您

c++ - 以下片段的区别

请告诉我有什么区别typedefstructTcl_ObjType{char*name;Tcl_FreeInternalRepProc*freeIntRepProc;Tcl_DupInternalRepProc*dupIntRepProc;Tcl_UpdateStringProc*updateStringProc;Tcl_SetFromAnyProc*setFromAnyProc;}Tcl_ObjType;和structTcl_ObjType{char*name;Tcl_FreeInternalRepProc*freeIntRepProc;Tcl_DupInternalRepProc*

c++ - 如何将 unsigned int 放入 char 数组并将其提取回来

有人可以解释为什么这不起作用吗?我正在尝试将一个unsignedint放入一个char缓冲区,然后将其取回另一个unsignedint。1#include2#include3intmain(){4unsignedinttester=320;5charbuffer[512];6memset(buffer,0,512);7memcpy(buffer,&tester,sizeof(unsignedint));8/*buffer[0]|=tester;9buffer[1]|=(tester>>8);10buffer[2]|=(tester>>16);11buffer[3]|=(tester>>